1. Field of the Invention
This invention relates to restoring data, and more particularly to apparatus and methods for restoring data from a sequential-access backup archive.
2. Background of the Invention
A “backup” generally refers to a copy of original data that is created and maintained for recovery purposes. The copy may be used to restore the original data in the event the original data is lost or corrupted. Although most backups share a common purpose, the manner in which data is backed up (also referred to as the “data repository model”) can vary significantly. In many cases, a data repository model is based at least partly on the type of storage media used (i.e., whether the backup is stored on magnetic tape, a hard disk, an optical disk, or the like). Once data is backed up, techniques used to recover the data also vary significantly. Such recovery techniques may be based at least partly on the way the backup data was originally stored and structured.
In some cases, backups stored on magnetic tape lack information (such as indexes or waypoints) indicating where data sets are stored in the backup or which data sets are actually included in the backup. In such cases, restoring specific data sets from the backup may be a time-consuming and resource-intensive process. Specifically, restoring data sets in such cases may require reading each data set in the backup to determine if the data set is one to be restored. This may not be a problem where the backup contains a small number of data sets. However, if the backup contains a large number of data sets, reading and inspecting each of the data sets may consume significant processing time and resources.
The above-stated problems may be compounded by the fact that data sets that were requested to be backed up may not reflect the data sets that were actually backed up. The problem may also be exacerbated by the fact that the amount of data in each data set may vary. Thus, a search technique cannot simply treat the backup as an array of fixed size entries to fast forward to a desired data set.
In view of the foregoing, what is needed is an apparatus and method to more efficiently restore data sets from a backup archive having the above-described characteristics. Further needed are apparatus and methods to efficiently search for desired data sets using search commands supported by existing storage controllers. Yet further needed are apparatus and methods to minimize the processing time and resources utilized when performing such searches.